from collections import namedtuple
'''
python内建的集合模块，提供了许多有用的集合类
'''
# namedtuple
# 命名元组，本质是一个函数，用它来创建一个自定义的tuple对象
# 规定tuple元素的个数，并可以用属性而不是索引来引用tuple中的元素
# 用namedtuple定义一个新的数据类型

# 假如这是一个点的坐标，但是没有写注释，过了好久不知道了
p = (1, 2)
# 定义了一个新的数据类型，属于tuple类型的子类型
Point = namedtuple("Point", ["x", "y"])
point = Point(1, 2)
print(isinstance(point, Point))
print(isinstance(point, tuple))
print(point)
print(point[1], point[0])
# 根据属性获取值
print(point.x, point.y)